home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / Gui4Cli / Dir / dir.fav < prev    next >
Encoding:
Text File  |  1980-01-03  |  1.7 KB  |  93 lines

  1. G4C
  2.  
  3. ; favourites gui
  4.  
  5.  
  6. winbig -1 -1 240 180 'Favourites'
  7. wintype 11110001
  8. varpath dir.gc
  9.  
  10. xonload
  11. favpath = guis:tools/fav
  12. fav     = guis:tools/fav/default
  13. id = $favid ; set by dir.gc
  14. lvuse dir.fav 1
  15. lvchange $fav
  16.  
  17. xonopen
  18. id = $favid
  19. if $id = ''
  20.    id = 1
  21. endif
  22.  
  23. xonrmb
  24. guiclose dir.fav
  25.  
  26.  
  27. xListview  0 15 240 165 '' dir '' 10 MULTI
  28. gadid 1
  29. guiclose dir.fav
  30. lvuse dir.gc $id
  31. lvdir #$dir
  32. if $id = 1
  33.    setwintitle dir.gc '$dir                                 '
  34. else
  35.    update dir.gc 10 $dir
  36. endif
  37.  
  38.  
  39. xbutton 0 0 60 14 'Load..' 
  40. fav = ''
  41. ReqFile  -1 -1 240 180 'Choose Dir list:' LOAD fav $favpath
  42. if $fav > ''
  43.    lvuse dir.fav 1
  44.    lvchange $fav
  45. endif
  46.  
  47. xbutton 60 0 60 14 'Save..' 
  48. fav = ''
  49. ReqFile  -1 -1 240 180 'Save Dir list:' SAVE fav $favpath
  50. if $fav > ''
  51.    lvuse dir.fav 1
  52.    lvsave $fav
  53. endif
  54.  
  55. xbutton 120 0 60 14 'Delete'
  56. lvuse dir.fav 1
  57. lvmulti first
  58. while $$lv.line > ''    ; while line is within lv range - we can't use
  59.    lvdel -1             ; while $dir > '' - because there may be blank
  60.    lvmulti first        ; lines.
  61. endwhile
  62.  
  63.  
  64. xbutton 180 0 60 14 'Clear'
  65. lvuse dir.fav 1
  66. lvclear
  67.  
  68.  
  69. ; routine to add a favourite dir - called from dir.gc +
  70. xroutine addfav
  71. fav = $$lv.dir             ; the dir we want to add
  72. id  = $$lv.id
  73. lvuse dir.fav 1
  74. lvsearch $fav ci first
  75. while $$lv.rec != $fav     ; check if dir already exists - if you search for
  76. and $$lv.line > ''         ; say DH0: lvsearch will return true for DH0: 
  77.    lvsearch $fav ci next   ; *and* DH0:mydir so we have to compare them
  78. endwhile
  79. if $$lv.line > ''          ; we stopped before the end, so dir exists
  80.    ;
  81. else
  82.    lvadd $fav              ; doesn't exist, so add it
  83. endif
  84. lvsort asc
  85. id = $favid
  86. lvuse dir.gc $id
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.